home *** CD-ROM | disk | FTP | other *** search
- /*
- ** $VER: rtgmaster.h 1.013 (15 Jan 1998)
- */
-
- MODULE 'utility/tagitem',
- 'exec/libraries',
- 'exec/ports',
- 'rtgmaster/rtgsublibs'
-
- #define smr_Dummy TAG_USER
- #define smr_MinWidth (smr_Dummy + $01)
- // [320] This tag sets the minimum width in
- // pixels which the user is allowed to select
-
- #define smr_MaxWidth (smr_Dummy + $02)
- // [2048] This tag sets the maximum width in
- // pixels which the user is allowed to select
-
- #define smr_MinHeight (smr_Dummy + $03)
- // [200] This tag sets the minimum height in
- // pixels which the user is allowed to select
-
- #define smr_MaxHeight (smr_Dummy + $04)
- // [2048] This tag sets the maximum height in
- // pixels which the user is allowed to select
-
- #define smr_PlanarRoundW (smr_Dummy + $05)
- // [16] RtgScreenModeReq will round user inputed
- // values for Width to nearest higher multiple
- // of thig tag for Planar display modes
-
- #define smr_PlanarRoundH (smr_Dummy + $06)
- // [1] RtgScreenModeReq will round user inputed
- // values for Height to nearest higher multiple
- // of thig tag for Planar display modes
-
- #define smr_ChunkyRoundW (smr_Dummy + $07)
- // [1] RtgScreenModeReq will round user inputed
- // values for Width to nearest higher multiple
- // of thig tag for Chunky display modes
-
- #define smr_ChunkyRoundH (smr_Dummy + $08)
- // [1] RtgScreenModeReq will round user inputed
- // values for Height to nearest higher multiple
-
- #define smr_ProgramUsesC2P (smr_Dummy + $0c)
- // [TRUE] If the program doesn't use the c2p call you have
- // to specify FALSE. In this case the c2p part of the
- // window is hidden and the the current c2p module is not
- // used when filtering the screen modes.
- // of thig tag for Chunky display modes
-
- #define smr_ChunkySupport (smr_Dummy + $09)
- // [0] This LONG is used to indicate which
- // Chunky modes the user is allowed to select.
- // A set bit means the mode is selectable.
- // See the rtg_ChunkySupport tag for more
- // information.
-
- #define smr_PlanarSupport (smr_Dummy + $0a)
- // EITEM smr_PlanarSupport ;[0] This LONG is used to indicate which
- // Planar modes the user is allowed to select.
- // A set bit means the mode is selectable.
- // See the rtg_PlanarSupport tag for more
- // information.
-
- #define smr_Buffers (smr_Dummy + $0b)
- // [1] Using this tag you're can specify
- // the number of buffers your application needs.
- // Usually this ranges from 1-3. Specify
- // it here to filter out ScreenModes which can't
- // handle the number of buffers you require.
-
- //*******
- // Attention: The following initial values are overwritten
- // by the saved preferences if a valid preferences file
- // is found.
- #define smr_InitialWidth (smr_Dummy + $10)
- // [320] Initial screen width
- // The minimal/maximal selectable width is taken into account.
-
- #define smr_InitialHeight (smr_Dummy + $11)
- // [200] Initial screen height
- // The minimal/maximal selectable height is taken into account.
-
- #define smr_InitialDepth (smr_Dummy + $12)
- // [8] Log2 number of colors
-
- #define smr_InitialScreenMode (smr_Dummy + $13)
- // [the first selectable screenmode]
- // Ptr to a string describing the ScreenMode
- // (this is essentially the string pointed to
- // by sm_Name)
-
- #define smr_InitialDefaultW (smr_Dummy + $14)
- // [TRUE] False if you don't want the Default
- // width gadget active.
-
- #define smr_InitialDefaultH (smr_Dummy + $15)
- // [TRUE] False if you don't want the Default
- // height gadget active.
-
- #define smr_PrefsFileName (smr_Dummy + $16)
- // ["RtgScreenMode.prefs"]
- // Specifies the file where the selected screenmode loaded from
- // and saved to. If you set this to NULL, the save gadget
- // is disabled and no screenmode is loaded at the beginning.
- // The window is certainly opened without pressing the shift
- // key then.
- // If a valid preferences file is found the "smr_Initial" tags
- // are ignored. It makes not much sense to specify inital values
- // without setting smr_PrefsFileName to NULL.
-
- #define smr_ForceOpen (smr_Dummy + $17)
- // [FALSE] If false, the screenmode requester reads the screenmode
- // from the file specified by smr_PrefsFileName and returns immediately.
- // The requester opens only in case of an error when reading the preferences
- // or when the user presses shift while the requester is called.
- // If true, the requester opens in any case and lets the user select a
- // new mode.
-
- #define smr_TitleText (smr_Dummy + $18)
- // ["RTG Screenmode Requester"] (STRPTR)
- // The title text of the window
-
- #define smr_WindowLeftEdge (smr_Dummy + $19)
- // [-1 (= centered)] The left edge of the requester window
- // The value -1 means that the window is centered horicontically.
-
- #define smr_WindowTopEdge (smr_Dummy + $1a)
- // [-1 (= centered)] The top edge of the requester window
- // The value -1 means that the window is centered vertically.
-
- #define smr_Screen (smr_Dummy + $1b)
- // [Default Pubscreen] (struct Screen *)
- // The (custom or public) screen on which the screenmode requester should
- // be opened
-
- #define smr_PubScreenName (smr_Dummy + $1c)
- // [NULL] (STRPTR)
- // The name of the public screen on which the screenmode
- // requester should be opened; if not found, the default
- // pubscreen is used.
- //----------------added on 27/10/97 by Wolfram---------------
-
- #define smr_MinPixelAspect (smr_Dummy + $1d)
- // [0] Minimal pixel aspect, defined as
- // (1 << 16) * pixel_height / pixel_width
- // see also: smr_PixelAspect_Proportional, _Wide and _High
-
- #define smr_MaxPixelAspect (smr_Dummy + $1e)
- // [ULONG_MAX] Maximal pixel aspect, defined as
- // (1 << 16) * pixel_height / pixel_width
- // End of RtgScreenModeReq() enumeration ***
-
- //**********************************************************************
- // Special values for smr_MinPixelAspect and smr_MaxPixelAspect:
- //
- // If you want to get only proportional screen modes with 20% variation,
- // you can set for example:
- //
- // smr_MinPixelAspect, smr_PixelAspect_Proportional * 8 / 10,
- // smr_MaxPixelAspect, smr_PixelAspect_Proportional * 12 / 10
- //
- #define smr_PixelAspect_Proportional (1 << 16)
- #define smr_PixelAspect_Wide (smr_PixelAspect_Proportional / 2)
- #define smr_PixelAspect_Narrow (smr_PixelAspect_Proportional * 2)
- // Execpt for the rb_LibBase structure this structure is private and for
- // the internal use of RtgMaster.library ONLY. This structure will change
- // in the future.
-
- OBJECT RDCMPData
- port:PTR TO MsgPort,
- signal:ULONG,
- MouseX:PTR TO WORD,
- MouseY:PTR TO WORD
-
- OBJECT RTGMasterBase
- base:Library,
- Pad:WORD,
- SegList:ULONG,
- DosBase:PTR,
- ExecBase:PTR,
- GadToolsBase:PTR,
- GfxBase:PTR,
- IntBase:PTR,
- UtilityBase:PTR,
- Track[8]:BYTE,
- Libraries:PTR TO RtgLibs,
- FirstScreenMode:PTR,
- LinkerDB:PTR
-
- // This structure is private and for the internal use of RtgMaster.library
- // ONLY. This structure will change in the future.
- OBJECT RtgLibs
- Next:PTR,
- ID:ULONG,
- LibBase:PTR,
- SMList:PTR,
- LastSM:PTR,
- LibVersion:UWORD
-
- OBJECT RtgBobHandle
- BufSize:ULONG,
- RtgScreen:PTR TO RtgScreen,
- RefreshBuffer:PTR,
- BPR:ULONG,
- Width:ULONG,
- Height:ULONG,
- numsprites:UWORD,
- maxnum:UWORD,
- reserved:ULONG
-